package com.summary.service;

import java.util.List;

import com.ruoyi.common.core.domain.AjaxResult;
import com.summary.domain.TbSummary;
import com.summary.domain.dto.TbSummaryDto;

/**
 * 日报业务Service接口
 *
 * @author ruoyi
 * @date 2023-12-15
 */
public interface ITbSummaryService
{
    /**
     * 查询日报业务
     *
     * @param id 日报业务主键
     * @return 日报业务
     */
    public TbSummary selectTbSummaryById(Long id);

    /**
     * 查询日报业务列表
     *
     * @param tbSummary 日报业务
     * @return 日报业务集合
     */
    public List<TbSummary> selectTbSummaryList(TbSummary tbSummary);

    /**
     * 新增日报业务
     *
     * @param tbSummary 日报业务
     * @return 结果
     */
    public int insertTbSummary(TbSummary tbSummary);

    /**
     * 修改日报业务
     *
     * @param tbSummary 日报业务
     * @return 结果
     */
    public int updateTbSummary(TbSummary tbSummary);

    /**
     * 批量删除日报业务
     *
     * @param ids 需要删除的日报业务主键集合
     * @return 结果
     */
    public int deleteTbSummaryByIds(Long[] ids);

    /**
     * 删除日报业务信息
     *
     * @param id 日报业务主键
     * @return 结果
     */
    public int deleteTbSummaryById(Long id);

    /**
     * 日报列表
     * @param tbSummary
     * @return
     */
    List<TbSummary> selectTbSummaryListByPage(TbSummary tbSummary);

    /**
     * 添加日报
     * @param tbSummaryDto
     * @return
     */
    public AjaxResult saveDaily(TbSummaryDto tbSummaryDto);

    /**
     * 保存等级信息
     * @param tbSummaryDto
     * @return
     */
    public AjaxResult saveLevel(TbSummaryDto tbSummaryDto);

    public AjaxResult searchByDate(TbSummaryDto tbSummary);

    /**
     * 查询月报
     * @param tbSummaryDto
     * @return
     */
    public AjaxResult getDailyMonthList(TbSummaryDto tbSummaryDto);

    /**
     * 查询所有月报
     * @param tbSummaryDto
     * @return
     */
    List<TbSummary> getAllDailyMonthList(TbSummaryDto tbSummaryDto);


    /**
     * 查询一个月的日报列表
     * @param tbSummaryDto
     * @return
     */
    public AjaxResult getListByIdYearMonthType(TbSummaryDto tbSummaryDto);

    /**
     * 修改日报
     * @param tbSummaryDto
     * @return
     */
    AjaxResult update(TbSummaryDto tbSummaryDto);

    AjaxResult getWeekListByUserId(TbSummaryDto tbSummaryDto);
}
